package com.example.demo.mqserver.core;

import lombok.Data;
import org.springframework.stereotype.Controller;

import java.io.Serializable;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 张
 * Date: 2024-07-10
 * Time: 20:17
 */
@Data
public class BasicProperties implements Serializable {
    //消息的唯一身份标识,此处为了保证id的唯一性,使用uuid来作为messageId
    private String messageId;
    //是以一个消息上带有的内容,和bindingKey做匹配
    //如果当前的交换机类型是DIRECT,此时的routingKey 就表示要转发的队列名
    //如果当前的交换机类型是FANOUT,此时的routingKey 无意义(FANOUT是全部转发)
    //如果当前的交换机是TOPIC,此时的 routingKey就要和 bindingKey做匹配,符合要求才能转发消息给对应队列
    private String routingKey;
    //表示消息是否要持久化 1表示不持久化 2表示持久化
    private int deliverMode = 1;

    //RabbitMQ来说,BasicProperties内部还有很多属性,此处把主要的给实现
}
